package store.api;

import org.springframework.data.domain.Pageable;
import store.model.core.Store;
import store.model.core.StoreExt;

import java.util.List;
import java.util.Map;

/**
 * Created by xiaoqian on 2016/9/27.
 */
public interface StoreApi {

    /**
     * 根据店铺ID获得店铺信息
     * @param storeId
     * @return
     */
    public Store findByStoreId(String storeId);

    /**
     * 批量查找店铺信息
     * @param storeIds
     * @return
     */
    public List<Store> findByStoreIds(List<String> storeIds);

    public Store getStoreInfo(String storeId);

    public List<Store> getStoreList();

    public List<Store> findStoreList();

    /**
     * 根据店铺名称分页查找店铺
     * @param name
     * @param pageable
     * @return
     */
    public Map getUnreviewedStores(String name, Pageable pageable);

    /**
     * 通过StoreExt加载StoreVo
     * @param storeExt
     * @return
     */
    Map loadStoreVoByStoreExt(StoreExt storeExt);

    public String toString();

    /**
     * 首页店铺显示
     * @return
     */
    Map<String,List<Store>> listStoreForIndex();

    /**
     * 根据Member找到对应的店铺
     * @return member对应的店铺
     */
    Store findStoreByMember(String memberId);

    public Map listToMap();
}
